//package com.example.multiple.config;
//
//import lombok.extern.slf4j.Slf4j;
//
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * @Author yanggld
// * @Date 2019/9/26-18:14
// * @Description
// */
//@Slf4j
//public class DataSourceService {
//
//	/**
//	 * 创建新的私有库数据源
//	 * @param ljyunId
//	 */
//	private void  toYunDB(int ljyunId){
//		//组合私有库数据源对象key
//		String dbSourceKey = ljyunDataSourceKey+String.valueOf(ljyunId);
//		//获取当前连接的数据源对象的key
//		String currentKey = DynamicDataSourceContextHolder.getDataSourceKey();
//		if(dbSourceKey == currentKey) return;
//
//		//创建私有库数据源
//		createLjyunDataSource(ljyunId);
//
//		//切换到当前数据源
//		DynamicDataSourceContextHolder.setDataSourceKey(dbSourceKey);
//		log.info("＝＝＝＝＝私有库: "+ljyunId+",切换完毕");
//	}
//
//	/**
//	 * 创建私有库数据源，并将数据源赋值到targetDataSources中，供后切库用
//	 * @param ljyunId
//	 * @return
//	 */
//	private MyDataSource createLjyunDataSource(int ljyunId){
//		//创建新的数据源
//		if(ljyunId == 0)
//		{
//			log.info("动态创建私有库数据时，私有库主键丢失");
//		}
//		String yunId = String.valueOf(ljyunId);
//		MyDataSource dataSource = new yunId();
//		String prefix = "db.privateDB.";
//		String dbUrl = evn.getProperty( prefix + "url-base")
//				+ evn.getProperty( prefix + "host") + ":"
//				+ evn.getProperty( prefix + "port") + "/"
//				+ evn.getProperty( prefix + "dbname").replace("{id}",yunId) + evn.getProperty( prefix + "url-other");
//		log.info("+++创建云平台私有库连接url = " + dbUrl);
//		dataSource.setUrl(dbUrl);
//		dataSource.setUsername(evn.getProperty( prefix + "username"));
//		dataSource.setPassword(evn.getProperty( prefix + "password"));
//		dataSource.setDriverClassName(evn.getProperty( prefix + "driver-class-name"));
//
//		//将创建的数据源，新增到targetDataSources中
//		Map<Object,Object> map = new HashMap<>();
//		map.put(ljyunDataSourceKey+yunId, dataSource);
//		DynamicDataSource.getInstance().setTargetDataSources(map);
//		return dataSource;
//	}
//}
